<script>
	import Vue from 'vue'
	import {getAppSettingInfo} from '@/api/api.js'
	import {
		saveAppSettingInfo,
		getCachedAppSettingInfo
	} from '@/api/statusCache.js'
	import config from '@/api/config.js'
	import {
		commonLogin,
		baiduCodeLogin
	} from '@/api/auth.js'
export default {
	globalData: {  
	   isLoginPageShowing:false,  
	},
	onLaunch: function(options) {
		
		//监听网络错误，进行提示弹出
		uni.$on('ShowNetworkMsg',function(msg){
			setTimeout(function() {
				uni.showToast({
					icon:'none',
					title:msg,
					duration:2500
				})
			}, 100);
		})
		
		uni.hideTabBar()
		this.initThemeColor()
		console.log(options);
		try{
			if(options.scene == 1155) {
				uni.setStorageSync('AppLaunchFromTimeline','1')
			}
		}catch(error) {
			console.log('storage sence fail!')
		}
		
		//各平台通用登录，方法内适配
		commonLogin()
		
		uni.getSystemInfo({
			success: function(e) {
				console.log('system info:')
				console.log(e)
				let isIos = e.platform == 'ios'?true:false;
				Vue.prototype.IsIOS = false
				if(isIos) {
					Vue.prototype.IsIOS = true
				}
				isIos = e.system.indexOf('iOS') !== -1 ? true:false 
				if(isIos) {
					Vue.prototype.IsIOS = true
				}
				isIos = e.model.indexOf('iPhone') !== -1 ? true:false 
				if(isIos) {
					Vue.prototype.IsIOS = true
				}
				
				// #ifndef MP
				Vue.prototype.StatusBar = e.statusBarHeight;
				if (e.platform == 'android') {
					Vue.prototype.CustomBar = e.statusBarHeight + 50;
				} else {
					Vue.prototype.CustomBar = e.statusBarHeight + 45;
				};
				// #endif
		
				// #ifdef MP-WEIXIN || MP-QQ 
				Vue.prototype.StatusBar = e.statusBarHeight;
				let custom = wx.getMenuButtonBoundingClientRect();
				Vue.prototype.Custom = custom;
				Vue.prototype.CustomBar = custom.bottom + custom.top - e.statusBarHeight;
				// #endif		
				
				// #ifdef MP-BAIDU
				Vue.prototype.StatusBar = e.statusBarHeight;
				let custom = swan.getMenuButtonBoundingClientRect();
				Vue.prototype.Custom = custom;
				Vue.prototype.CustomBar = custom.bottom + custom.top - e.statusBarHeight;
				// #endif	
		
				// #ifdef MP-ALIPAY
				Vue.prototype.StatusBar = e.statusBarHeight;
				Vue.prototype.CustomBar = e.statusBarHeight + e.titleBarHeight;
				// #endif
			}
		})
		
		Vue.prototype.ColorList = [{
				title: '嫣红',
				name: 'red',
				color: '#e54d42'
			},
			{
				title: '桔橙',
				name: 'orange',
				color: '#f37b1d'
			},
			{
				title: '明黄',
				name: 'yellow',
				color: '#fbbd08'
			},
			{
				title: '橄榄',
				name: 'olive',
				color: '#8dc63f'
			},
			{
				title: '森绿',
				name: 'green',
				color: '#39b54a'
			},
			{
				title: '天青',
				name: 'cyan',
				color: '#1cbbb4'
			},
			{
				title: '海蓝',
				name: 'blue',
				color: '#0081ff'
			},
			{
				title: '姹紫',
				name: 'purple',
				color: '#6739b6'
			},
			{
				title: '木槿',
				name: 'mauve',
				color: '#9c26b0'
			},
			{
				title: '桃粉',
				name: 'pink',
				color: '#e03997'
			},
			{
				title: '棕褐',
				name: 'brown',
				color: '#a5673f'
			},
			{
				title: '玄灰',
				name: 'grey',
				color: '#8799a3'
			},
			{
				title: '草灰',
				name: 'gray',
				color: '#aaaaaa'
			},
			{
				title: '墨黑',
				name: 'black',
				color: '#333333'
			},
			{
				title: '雅白',
				name: 'white',
				color: '#ffffff'
			},
		]
	},
	onShow: function(options) {
		console.log(options)
		uni.hideTabBar()
	},
	onHide: function() {
		//console.log('App Hide')
		uni.hideTabBar()
	},
	onError: function(err) {
	},
	methods: {
		initThemeColor() {
			let color = 'bg-'
			let graualThemeList = [
				'red',
				'blue',
				'orange',
				'green',
				'purple',
				'pink',
			]
			let themeColorHexList = {
				'red':'#e54d42',
				'blue':'#0081ff',
				'orange':'#f37b1d',
				'green':'#39b54a',
				'purple':'#6739b6',
				'pink':'#e03997',
			}
			let gradual = config.themeGradual == 1? 'gradual-':''
			if(config.themeGradual == 1) {
				if(graualThemeList.indexOf(config.themeColor) == -1) {
					console.log('config gradual theme color not allowed(red,blue,orange,green,purple,pink)!')
				}
			}
			let tColor = color + gradual + config.themeColor
			console.log('config tColor:'+tColor);
			Vue.prototype.ThemeColor = tColor
			Vue.prototype.ThemeTintColor = config.themeColor
			Vue.prototype.ThemeWebColor = themeColorHexList[config.themeColor]
			let cachedSettingInfo = getCachedAppSettingInfo() 
			if(cachedSettingInfo !== null && cachedSettingInfo !== undefined) {
				Vue.prototype.AppSetting = cachedSettingInfo
			}else{
				Vue.prototype.AppSetting = {}
			}
			getAppSettingInfo().then(res=>{
				saveAppSettingInfo(res.data)
			})
		}
	},
};
</script>

<style lang="scss">
/*每个页面公共css uParse为优化版本*/
@import './common/app.css';
/* #ifndef APP-NVUE */
@import './components/uni/uParse/src/wxParse.css';
/* #endif */
@import "colorui/main.css";
@import "colorui/icon.css";
</style>